Source verification device

ABSTRACT

Systems and methods for source verification are disclosed. A method includes: receiving, by a computing device, a report from a first source; determining, by the computing device, the first source is listed in a source repository based on receiving the report; selecting, by the computing device, a second source at a location remote from the first source based on the source being listed in the source repository; confirming, by the computing device, the report from the first source based on information received from the second source; repeating, by the computing device, the selecting and the confirming until a value of information in the report from the second source exceeds an information trust level value for the report.

BACKGROUND

The present invention relates generally to verification of sources and,more particularly, to a system and method for verification of reportsfrom sources during an emergency situation.

During an occurrence of an emergency, information about the emergency isreported to first responders from multiple sources and from multiplelocations. Though many sources may not intend to misrepresent theinformation about the emergency, the sources may not always be accuratein their reporting. Inaccurate information about the emergency fromthese sources may impede resolution of the emergency.

Additionally, social networks and other media channels are occasionallyused to send information to first responders. Inaccurate informationreceived via the channels may lead the first responders away from theemergency. Currently, verification of sources and the information fromthe sources is complex process that expends valuable resources that maybe better utilized in attending to the actual emergency.

SUMMARY

In an aspect of the invention, a computer implemented method includesreceiving, by a computing device, a report from a first source;determining, by the computing device, the first source is listed in asource repository based on receiving the report; selecting, by thecomputing device, a second source at a location remote from the firstsource based on the source being listed in the source repository;confirming, by the computing device, the report from the first sourcebased on information received from the second source; repeating, by thecomputing device, the selecting and the confirming until a value ofinformation in the report from the second source exceeds an informationtrust level value for the report.

In another aspect of the invention, a computer program product comprisesa computer readable storage medium having program instructions embodiedtherewith receive a report from a first user device of a first source;assign an information trust level value to the report from the firstsource based on receiving the report; select a second user device of asecond source at a location remote from the user device of the firstsource based on assigning the information trust level value to thereport from the first source; assign an information value to informationfrom the second source based on receiving information from the secondsource; confirm the report with the second user device of the secondsource based on determining the information value exceeds theinformation trust level value.

In another aspect of the invention, there is a system for verificationof reports from sources. The system includes: a CPU, a computer readablememory and a computer readable storage medium associated with a mobilecomputer device program instructions to receive a report from an unknownsource at a location; program instructions to determine other unknownsources near the location; program instructions to select a secondunknown source from the other unknown sources; program instructions todetermine whether information from the second unknown source exceeds aninformation trust level value; and program instructions to repeat theselecting until information from a number of unknown sources exceeds theinformation trust level value. The program instructions are stored onthe computer readable storage medium for execution by the CPU via thecomputer readable memory.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is described in the detailed description whichfollows, in reference to the noted plurality of drawings by way ofnon-limiting examples of exemplary embodiments of the present invention.

FIG. 1 depicts a computing infrastructure according to an embodiment ofthe present invention.

FIG. 2 shows an exemplary environment in accordance with aspects of theinvention.

FIG. 3 shows an exemplary use in accordance with aspects of theinvention.

FIG. 4 illustrates a flowchart of steps of a method in accordance withaspects of the invention.

DETAILED DESCRIPTION

The present invention relates generally to verification of sources and,more particularly, to a system and method for verification of reportsfrom sources during an emergency situation. In aspects, the presentinvention provides a mechanism for verifying the information reportedfrom a source. For example, a source may utilize a user device (e.g., aradio dispatch, a mobile phone, etc.) to communicate information aboutemergencies. A source may be an individual (e.g., a public safetyofficer or a bystander) utilizing a user device to report emergencies atspecific locations so that first responders may be dispatched to thelocation of the emergency. However, the source may not always bereliable.

In aspects, the preset invention receives a report from the source at alocation (e.g., street address) and determines a trust level of thesource (e.g., whether the report is from a trusted source, an untrustedsource, or an unknown source). In aspects, the present inventiondetermines other sources nearby the location of the source if the sourcetrust level and information from the source fails to meet certaincriteria.

In aspects, the present invention selects a second source at a locationremote from a first source and confirms the report with the secondsource. In aspects, the second source is within a radius of the locationof the first source. In aspects, the selecting and the confirming arerepeated until a sufficient number of sources confirm the report (e.g.,the report is confirmed by multiple sources and the information in thereport exceeds an information trust level value). In aspects, afterconfirming the report, the report is considered verified and firstresponders are dispatched to the location of the emergency.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

Referring now to FIG. 1, a schematic of an example of a computinginfrastructure is shown. Computing infrastructure 10 is only one exampleof a suitable computing infrastructure and is not intended to suggestany limitation as to the scope of use or functionality of embodiments ofthe invention described herein. Regardless, computing infrastructure 10is capable of being implemented and/or performing any of thefunctionality set forth hereinabove.

In computing infrastructure 10 there is a computer system (or server)12, which is operational with numerous other general purpose or specialpurpose computing system environments or configurations. Examples ofwell-known computing systems, environments, and/or configurations thatmay be suitable for use with computer system 12 include, but are notlimited to, personal computer systems, server computer systems, thinclients, thick clients, hand-held or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

Computer system 12 may be described in the general context of computersystem executable instructions, such as program modules, being executedby a computer system. Generally, program modules may include routines,programs, objects, components, logic, data structures, and so on thatperform particular tasks or implement particular abstract data types.Computer system 12 may be practiced in distributed cloud computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed cloudcomputing environment, program modules may be located in both local andremote computer system storage media including memory storage devices.

As shown in FIG. 1, computer system 12 in computing infrastructure 10 isshown in the form of a general-purpose computing device. The componentsof computer system 12 may include, but are not limited to, one or moreprocessors or processing units (e.g., CPU) 16, a system memory 28, and abus 18 that couples various system components including system memory 28to processor 16.

Bus 18 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. By way of example, and not limitation,such architectures include Industry Standard Architecture (ISA) bus,Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, and PeripheralComponent Interconnects (PCI) bus.

Computer system 12 typically includes a variety of computer systemreadable media. Such media may be any available media that is accessibleby computer system 12, and it includes both volatile and non-volatilemedia, removable and non-removable media.

System memory 28 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 30 and/or cachememory 32. Computer system 12 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 34 can be provided forreading from and writing to a nonremovable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 18 by one or more datamedia interfaces. As will be further depicted and described below,memory 28 may include at least one program product having a set (e.g.,at least one) of program modules that are configured to carry out thefunctions of embodiments of the invention.

Program/utility 40, having a set (at least one) of program modules 42,may be stored in memory 28 by way of example, and not limitation, aswell as an operating system, one or more application programs, otherprogram modules, and program data. Each of the operating system, one ormore application programs, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment. Program modules 42 generally carry out the functions and/ormethodologies of embodiments of the invention as described herein.

Computer system 12 may also communicate with one or more externaldevices 14 such as a keyboard, a pointing device, a display 24, etc.;one or more devices that enable a user to interact with computer system12; and/or any devices (e.g., network card, modem, etc.) that enablecomputer system 12 to communicate with one or more other computingdevices. Such communication can occur via Input/Output (I/O) interfaces22. Still yet, computer system 12 can communicate with one or morenetworks such as a local area network (LAN), a general wide area network(WAN), and/or a public network (e.g., the Internet) via network adapter20. As depicted, network adapter 20 communicates with the othercomponents of computer system 12 via bus 18. It should be understoodthat although not shown, other hardware and/or software components couldbe used in conjunction with computer system 12. Examples, include, butare not limited to: microcode, device drivers, redundant processingunits, external disk drive arrays, RAID systems, tape drives, and dataarchival storage systems, etc.

FIG. 2 shows an exemplary environment in accordance with aspects of theinvention. Currently, a source (e.g., a public safety officer or abystander) utilizes a user device (e.g., a radio dispatch, a mobilephone, etc.) to communicate information about emergencies to a firstresponder dispatching device. Though the information may be correct,verification of the source expends valuable resources that may be betterutilized in attending to an actual emergency.

For example, when an emergency situation takes place and is reported byan individual near the location of the emergency situation, verificationof the report is based on a trust level of the individual reporting theemergency situation. By way of example, if the source (e.g., a reportingindividual) is a public safety officer, then the likelihood of theemergency situation taking place at the reported location is high as thetrust level of the public safety officer is high. In another example, ifthe source (e.g., the reporting individual) is a civilian, then thelikelihood of the emergency situation taking place at the reportedlocation may be medium (e.g., where the reporting individual is abystander) or may be low (e.g., where the reporting individual is aknown untrusted source). In aspects, the present invention provides amechanism for verifying a trust level of a source and verifying theinformation reported by the source, thereby reducing wasted expenditureof resources.

Referring to FIG. 2, the exemplary environment includes a sourceverification device 60 which may comprise a computer system 12 of FIG.1, and may be connected to a network 50 (e.g., via the network adapter20 of FIG. 1). The network 50 may be any suitable communication networkor combination of networks, such as a local area network (LAN), ageneral wide area network (WAN), a public network (e.g., the Internet),a 3G network, a Long-Term Evolution (LTE) network, and/or a 5G network.

The source verification device 60 may comprise a plurality of modulesconfigured to perform one or more functions described herein. Inaspects, the source verification device 60 may include additional orfewer modules than those shown in FIG. 2. In aspects, separatecomponents may be integrated into a single computing component ormodule. Additionally, or alternatively, a single module may beimplemented as multiple computing components or modules (e.g., programmodules 42 of FIG. 1).

In embodiments, the source verification device 60 includes a creatingmodule 62, a receiving module 70, a determining module 72, a selectingmodule 74, a confirming module 76, and a repeating module 78. The sourceverification device 60 is configured for communication via the network50 with one or more of an original unknown source 90, a trusted source92, an unknown source 94, a close unknown source 96, a second unknownsource 98, and a database 100. In aspects, the database includes atrusted source repository 102, an untrusted source repository 104, andan information trust level repository 106 used by the sourceverification device 60. In aspects, the trusted source repository 102,the untrusted source repository 104, and the information trust levelrepository 106 is used by the source verification device 60 in verifyingthe reports from the original unknown source 90, the trusted source 92,the unknown source 94, the close unknown source 96, and the secondunknown source 98.

In aspects, the creating module 62 creates the trusted source repository102, the untrusted source repository 104, and the information trustlevel repository 106. The trusted source repository 102 contains a listof trusted sources such as first responders, public safety officials,and trusted family members. For example, medical professional (e.g.,nurses, doctors, and emergency medical technicians (EMT), etc.) in agiven area (e.g., a town or a municipality) may be registered (e.g., byauto registration) in the trusted source repository 102 as trustedsources. Individuals in a town who pay utility bills to the town mayalso be listed in the trusted source repository 102 as trusted sources.

The untrusted source repository 104 contains a list of individuals whoare not trusted to accurately report emergencies. For example,individuals who are known to prank call emergency dispatch personnel(e.g., 911 dispatchers) and report false emergencies may be registered(e.g., by auto registration) in the untrusted source repository 104 asuntrusted sources. In another example, unknown sources may be registeredin the untrusted source repository 104 as untrusted sources wheninformation from the unknown sources is constantly contradicted bytrusted sources (e.g., during and after the process of verifyinginformation in a report from the original unknown source 90).

The information trust level repository 106 includes an information trustlevel value for different types of reports. The information trust levelvalue is a value based on a type of report and profile information forthe type of report. The information trust level may also be utilized asa guide when dispatching personnel to the location of the emergency.

For example, if an EMT in an ambulance receive multiple emergency callsfor emergencies at different locations, the information trust levelvalue of the information in the emergency calls becomes critical indetermining which location to dispatch the EMT (e.g., the correctlocation to dispatch the EMT). In another example, if the EMT in theambulance is sitting idle, the information trust level value for areport may be ignored and the EMT is dispatched to the location of theemergency for precautionary purposes. In this case, the EMT may beviewed as a second source (e.g., the trusted source 92 registered in thetrusted source repository 102) that confirms the information in thereport from the original unknown source 90 is accurate.

In aspects, the source verification device 60 receives a report (e.g.,an emergency situation) from a source via a user device. The reportincludes information such as, for example: a type of report, a locationof the report, and a profile information of the report. The type ofreport may include, but is not limited to, a medical report, a crimereport, or a public safety announcement, etc. The location of the reportof the report may include, but is not limited to, a hospital, a streetaddress, or a neighborhood, etc. The profile information of the reportmay include, but is not limited to, a heart attack, lost person, or aweather advisory, etc.

By way of example, the original unknown source 90 utilizes user device91 to transmit the report to the source verification device 60 over thenetwork 50. Similarly, the trusted source 92, the unknown source 94, theclose unknown source 96, and the second unknown source 98 utilize userdevices 93, 95, 97, and 99, respectively, to transmit their respectivereports to the source verification device 60 over the network 50.

In aspects, based on receiving the report from the source, the sourceverification device 60 determines whether the source is listed in thetrusted source repository 102 or the untrusted source repository 104. Inaspects, the source verification device 60 accesses the database 100 todetermine whether the source is listed in the trusted source repository102 or the untrusted source repository 104. If the source is listed inthe trusted source repository 102, the source verification device 60dispatches emergency personnel to the location of in the report. If thesource is listed in the untrusted source repository 104, the sourceverification device 60 attempts to select a trusted source near thelocation of the emergency to confirm that the emergency is occurring atthe location provided by the source.

If the source is not listed in the trusted source repository 102 or theuntrusted source repository 104, the source verification device 60accesses the information trust level repository 106 and determines aninformation trust level value for the report (e.g., as defined by thetype of report and profile information for the type of report).

For example, if the type of report is a report of a medical emergencyand the profile for the report is a profile of a heart attack, then theinformation trust level value is a low numerical value (e.g., a value of2 in numerical scale from 1 to 10). In another example, if the type ofreport is a report of property damage and the profile for the report isa profile of damage to a sign, then the information trust level value isa high numerical value (e.g., a value of 9 in numerical scale from 1 to10). Implementations are not limited to these types and profiles andother types and profiles may be used.

In aspects, based on determining the information trust level value forthe report, the information trust level value for the report selects asecond source (e.g., the trusted source 92, the unknown source 94) andconfirms the report with the second source. The information from thesecond source is assigned a value (e.g., as defined by the type ofreport, the location of the report, profile information for the type ofreport, size of the emergency in the report, and number of peopleaffected by the emergency in the report, etc.). If the value determinedfor the information in the report from the second source exceeds aninformation trust level value for the report, the source verificationdevice 60 dispatches emergency personnel to the location in the report.

If the value determined for the information in the report from thesecond source does not exceed the information trust level value, thesource verification device 60 selects another source and attempts toconfirm the report provided by the original source. In aspects, thesource verification device 60 repeats the selecting and the confirminguntil an aggregate value determined for the information in the reportfrom the source exceeds the information trust level value.

In a first example, the receiving module 70 receives a report from thetrusted source 92 via the user device 93. For example, the trustedsource 92 (e.g., a public safety officer) may report emergencies (e.g.,an emergency situation at a location) to the receiving module 70 of thesource verification device 60 over the network 50 via the user device93.

In aspects, based on receiving the report from the trusted source 92,the determining module 72 determines whether the trusted source 92 is inthe trusted source repository 102 of the database 100. In aspects, ifthe trusted source 92 is listed in the trusted source repository 102,the report is considered as verified and emergency personnel aredispatched to the location of the emergency in the report. For example,after the determining module 72 determines that the trusted source 92 islisted in the trusted source repository 102 as a public safety officer,emergency personnel are dispatched to the location of the emergencyreported.

In another example, the receiving module 70 receives a report from theoriginal unknown source 90 via the user device 91. For example, theoriginal unknown source 90 may report emergencies (e.g., type, location,and profile information of the emergency) to the receiving module 70 ofthe source verification device 60 over the network 50 via the userdevice 91.

In aspects, based on receiving the report from the original unknownsource 90, the determining module 72 determines whether the originalunknown source 90 is in the trusted source repository 102 of thedatabase 100 or the untrusted source repository 104 of the database 100.In aspects, the determining module 72 determines whether information inthe report contains identifying information for the original unknownsource 90 (e.g., public safety office identification number oridentification of a satire website). If the original unknown source 90is in the trusted source repository 102 (e.g., listed in the trustedsource repository 102 as a public safety officer), the report isconsidered as verified and emergency personnel are dispatched to thelocation of the emergency.

If the original unknown source 90 is in the untrusted source repository104 (e.g., listed in the untrusted source repository 104 as a knownuntrusted source), the determining module 72 determines the location ofthe emergency in the report. In aspects, based on determining thelocation of the emergency, the determining module 72 determines whethera trusted source from the trusted source repository 102 has reported asimilar emergency (e.g., a trusted source 92 reporting a similaremergency at a similar location).

If the original unknown source 90 is in the untrusted source repository104 and a trusted source 92 is reporting a similar emergency, the reportis considered as verified and emergency personnel are dispatched to thelocation of the emergency. For example, after the determining module 72determines that a public safety officer listed in the trusted sourcerepository 102 is reporting a similar emergency at a similar locationreported by the known untrusted source, emergency personnel aredispatched to the location of the emergency.

In aspects, if the original unknown source 90 is in the untrusted sourcerepository 104 and no trusted source has reported a similar emergency,the report is discounted and no emergency personnel are dispatched. Forexample, after the determining module 72 determines that no publicsafety officer listed in the trusted source repository 102 is reportinga similar emergency at a similar location reported by the knownuntrusted source, the report is discounted and no emergency personnelare dispatched.

In aspects, if the original unknown source 90 is not in the trustedsource repository 102 or the untrusted source repository 104, thedetermining module 72 determines the location of the emergency. Forexample, after the determining module 72 determines that the originalunknown source 90 (e.g., a bystander) is not listed in the trustedsource repository 102 or the untrusted source repository 104, thedetermining module 72 determines the location of the emergency reportedby the bystander.

In aspects, based on determining the location of the emergency, thedetermining module 72 determines whether a trusted source (e.g., atrusted source 92) from the trusted source repository 102 is close tothe location of the emergency in the report. In aspects, if the trustedsource 92 is close to the location of the emergency, the selectingmodule 74 selects the trusted source 92 for confirmation of the report.For example, after the determining module 72 determines that a publicsafety officer listed in the trusted source repository 102 is close tothe location of the emergency, the selecting module 74 selects thepublic safety officer for confirmation of the report.

In aspects, based on selecting the trusted source 92, the confirmingmodule 76 confirms the report with the trusted source 92 by contactingthe trusted source 92 via the user device 93 to obtain: an automaticverification of the report (e.g., where the trusted source 92 sends aconfirmation acknowledgement via the user device 93 to the sourceverification device 60 verifying the report prior to moving to thelocation of the emergency) or a formal verification of the report (e.g.,having the trusted source 92 move to location of the emergency andsending a confirmation acknowledgement via the user device 93 verifyingthe report).

For example, after the selecting module 74 selects the public safetyofficer, the confirming module 76 confirms the report with the publicsafety officer if the public safety officer sends a confirmationacknowledgement to the source verification device 60 or by having thepublic safety officer relocate to location of the report and then sendthe confirmation acknowledgement to the source verification device 60.

In aspects, based on confirming the report, the report is considered asverified and emergency personnel are dispatched. For example, theconfirming module 76 confirms the report with the public safety officerwhen the public safety officer send a confirmation acknowledgement tothe source verification device 60, emergency personnel are dispatched tothe location of the emergency.

In aspects, if there is no trusted source close to location of theemergency, the determining module 72 determines an information trustlevel value (e.g., where the information trust level value is defined bythe type of report and the profile information of the report) for thereport from the original unknown source 90 by accessing the informationtrust level repository 106 in database 100. The information trust levelrepository 106 predefine an information trust level values based on acombination of the type of report and the profile information of thereport. In aspects, the information trust level repository 106 containsa list of separate information trust level values for differentcombinations of the type of report and profile information of thereport.

By way of example, if the report from the bystander is a report of aheart attack, the determining module 72 accesses the information trustlevel repository 106 to determine the information trust level value is alow numerical value (e.g., a value of 2 in a numerical scale from 1 to10) for a report of a heart attack. In another example, if the reportfrom the bystander is a report of a paper cut, the determining module 72accesses the information trust level repository 106 to determine theinformation trust level value is a high numerical value (e.g., a valueof 9 in a numerical scale from 1 to 10).

In aspects, based on determining the information trust level value forthe report, the selecting module 74 selects an unknown source (e.g., theunknown source 94) at a location remote from the original unknown source90. For example, based on determining the report from the bystander is areport of a heart attack, the selecting module 74 selects the unknownsource 94 at a location remote from the bystander.

In aspects, prior to selecting the unknown source 94 the selectingmodule 74 determines that the unknown source 94 does not have a socialconnection (e.g., same call history, phone numbers, social networkcontacts) with the original unknown source 90 and uses physicalproximity to select the unknown source 94. If the call history issimilar, the selecting module 74 does not select the unknown source 94.If the call history is dissimilar, the selecting module 74 may selectthe unknown source 94 using physical proximity to the unknown source 94.In this manner, the selecting module 74 reduces the likelihood ofmalicious collusion (e.g., multiple false reports of an emergency fromcolluding sources).

In aspects, based on checking the social connection between the originalunknown source 90 and the unknown source 94, the selecting module 74selects an area (e.g., a circle with a predefined radius) around theoriginal unknown source 90 and selects another unknown source that isfarthest from the original unknown source 90 but within the selectedarea around the original unknown source 90. For example, though theclose unknown source 96 may be within the selected area around theoriginal unknown source 90 and be considered part of the pool of unknownsources from which the selecting module 74 may select, the selectingmodule 74 selects the unknown source 94 based on the unknown source 94being farther away from the original unknown source 90 as compared tothe close unknown source 96. By not selecting the close unknown source96, the selecting module 74 avoids selecting close associates to theoriginal unknown source 90 as those associates may be more likely toprovide false information.

Based on selecting the unknown source 94, the confirming module 76confirms the report with the unknown source 94 via the user device 95.For example, the confirming module 76 may: access the social network ofthe unknown source 94 to verify that the report from the originalunknown source 90 is accurate (e.g., automatic verification) or have theunknown source 94 move to location of the emergency and verify thereport (e.g., formal verification).

In aspects, based on confirming the report with the unknown source 94via the user device 95, the confirming module 76 assigns a value (e.g.,a numerical value from 1 to 10) to the information in the report fromthe unknown source 94. The value assigned to the information in thereport is defined by the type of report, the location of the report, andthe profile of the report. For example, if the report only has the typeand location of the report, the value assigned to the report wouldassigned a lower numerical value (e.g., a numerical value of 2 in anumerical scale of 1 to 10). If the report had the type of report, thelocation of the report, and the profile of the report, the valueassigned to the report would assigned a higher numerical value (e.g., anumerical value of 9 in a numerical scale of 1 to 10) In aspects, otherinformation (e.g., size of the emergency in the report, number of peopleaffected by the emergency in the report, etc.) in the report may be usedto assign a numerical value to the report.

In aspects, the confirming module 76 determines the value of theinformation in the report (e.g., the numerical value of the informationin the report) exceeds the information trust level value (e.g., thenumerical value of the information trust level) determined by thedetermining module 72. In aspects, if the value of the information inthe report exceeds the information trust level value for the report, thereport from the original unknown source 90 is considered as verified bythe unknown source 94 and emergency personnel are dispatched.

If the value of the information (e.g., a information value based on thetype of report, the location of the report, profile information for thetype of report, size of the emergency in the report, and number ofpeople affected by the emergency in the report) in the report from theunknown source 94 does not exceed the information trust level value forthe report, the selecting module 74 selects an area around the unknownsource 94 and selects a second unknown source that is farthest from theunknown source 94 within the area.

Based on based on selecting a second unknown source (e.g., the secondunknown source 98), the confirming module 76 confirms the report fromthe original unknown source 90 by: contacting the second unknown source98 via the user device 99, confirming the report with the second unknownsource 98, and assigning a value to the information (e.g., a secondinformation value based on the type of report, the location of thereport, profile information for the type of report, size of theemergency in the report, and number of people affected by the emergencyin the report) from the second unknown source 98.

In aspects, the confirming module 76 sums the value assigned to theinformation in the report by the second unknown source 98 (e.g., thenumerical value of the information in the report from the unknown source98) with the value assigned to the information in the report by theunknown source 94 (e.g., the numerical value of the information in thereport from the unknown source 94) and confirms that an aggregate valueof the information from the unknown source 94 and the second unknownsource 98 exceeds the information trust level value. The value assignedto the information in the report by the second unknown source 98 may beless than the value assigned to the information in the report by theunknown source 94 as the proximity between the location of the originalunknown source 90 and the second unknown source 98 has increased.

If the aggregate value of the information from the unknown source 94 andthe second unknown source 98 (e.g., the numerical value of theinformation in the report from the unknown source 94 plus the numericalvalue of the information in the report from the unknown source 98)exceeds the information trust level value of the report from theoriginal source 90 (e.g., the numerical value of the information trustlevel for the report from the original source 90), the report from theoriginal unknown source 90 is considered as verified and emergencypersonnel are dispatched.

If the aggregate value of the information from the unknown source 94 andthe second unknown source 98 (e.g., the numerical value of theinformation in the report from the unknown source 94 plus the numericalvalue of the information in the report from the unknown source 98) doesnot exceed the information trust level value of the report from theoriginal source 90 (e.g., the numerical value of the information trustlevel for the report from the original source 90), the repeating module78 repeats the actions by the selecting module 74 and the confirmingmodule 76 until the aggregate value of the information from othersources exceeds the information trust level value of the report from theoriginal source 90.

FIG. 3 depicts an exemplary use scenario in accordance with embodimentsof the invention. In aspects, a report of an emergency 300 is receivedfrom the original unknown source 90. In aspects, based on receiving thereport of the emergency 300, the determining module 72 determineswhether the original unknown source 90 is listed in the trusted sourcerepository 102 or the untrusted source repository 104. In aspects, basedon the original unknown source 90 being in the untrusted sourcerepository 104, the selecting module 74 selects a second source (e.g.,the trusted source 92 or the unknown source 94) at a location remotefrom the source. The selecting module 74 selects the second source fromsources from within an area around the original unknown source 90 (e.g.,within Venn circle A, where the original unknown source 90 is the centermost point in the Venn Circle A).

In aspects, if the selecting module 74 selects the trusted source 92,the confirming module 76 confirms the report with the trusted source 92via the user device 91 and emergency personnel are dispatched to thelocation of the emergency 300. In aspects, if the selecting module 74selects the unknown source 94, the confirming module 76 confirms thereport with the unknown source 94 via the user device 95 by: contactingthe unknown source 94, confirming the report with the second unknownsource 94, assigning a value to the information from the unknown source94.

In aspects, the repeating module 78 performs the actions by theselecting module 74 and the confirming module 76 until the aggregatevalue of the information from multiple sources (e.g., the unknown source94 and the second unknown source 98) exceeds the information trust levelvalue. For example, if the value of the information from the unknownsource 94 does not exceed the information trust level value, theselecting module 74 selects the second unknown source 98 within an areaaround the unknown source 94 (e.g., within Venn circle B, where theunknown source 94 is the center most point in the Venn Circle B). Whenthe confirming module 76 confirms that the value of the informationexceeds the information trust level value, emergency personnel aredispatched to the location of the emergency 300.

The selecting module 74 does not select the close unknown source 96 asthe proximity between the original unknown source 90 and the closeunknown source 96 is less than the proximity between the originalunknown source 90 and the unknown source 94. By selecting the unknownsource 94, possible improper collusion between the original unknownsource 90 and the close unknown source 96 is avoided as the closeunknown source 96 may transmit false reports to the source verificationdevice 60 over the user device 97.

FIG. 4 shows a flowchart of steps of a method in accordance with aspectsof the invention. The steps of the method may be implemented in theenvironment of FIGS. 2-3 and are described with reference to theelements and functions described in FIGS. 2-3. The flowchart of FIG. 4illustrates the architecture, functionality, and operation of possibleimplementations of systems, methods, and computer program productsaccording to various embodiments of the present invention.

At step 400, the source verification device 60 creates a trusted sourcerepository 102, an untrusted source repository 104, and an informationtrust level repository 106. In aspects, the creating module 62 createsthe trusted source repository 102 (e.g., a list of first responders,public safety officials, and trusted family members), the untrustedsource repository 104 (e.g., a list of individuals who are not trustedto accurately report emergencies), and the information trust levelrepository 106 (e.g., a list of information trust level values for typesof reports).

At step 402, the source verification device 60 receives a report of anemergency from a source. In aspects, the receiving module 70 receivesthe report from the source. For example the receiving module 70 mayreceive the report of an emergency 300 from the original unknown source90. If the report is received by the original unknown source 90, mobiledevice performs vetting steps to: determine whether the source is listedin the trusted source repository 102 or the untrusted source repository104, select a second source, and confirm the report from the firstsource with the second source.

At step 404, based on receiving the report at step 402, the sourceverification device 60 determines whether the source is listed in thetrusted source repository 102 or the untrusted source repository 104. Inaspects, the determining module 72 determines determine whether thesource is listed in the trusted source repository 102 or the untrustedsource repository 104 at step 404 based on information in the report(e.g., where the report include identifying information of the source).

For example, if the original unknown source 90 is not in the trustedsource repository 102 or the untrusted source repository 104, thedetermining module 72 determines the location of the emergency anddetermines the information trust level value (e.g., a numerical asdefined by the type of report and the profile information of the report)for the report from the original unknown source 90.

At step 406, based on determining whether the source is listed in thetrusted source repository 102, the untrusted source repository 104, andthe location of the emergency 300 at step 404, the source verificationdevice 60 selects a second source. In aspects, the selecting module 74selects a second source at step 406 based on determining determinewhether the source is listed in the trusted source repository 102, theuntrusted source repository 104, and the location of the emergency 300.

For example, if the original unknown source 90 is not listed in thetrusted source repository 102 or the untrusted source repository 104,the selecting module 74 selects: a trusted source (e.g., the trustedsource 92) close to the vicinity of the report and contacts the trustedsource 92 via the user device 93 for confirmation of the report. Inanother example, if the original unknown source 90 is not listed in thetrusted source repository 102 or the untrusted source repository 104 andno trusted sources are available, the selecting module 74 selects asecond source (e.g., the unknown source 94) at a remote location fromthe original unknown source 90.

At step 408, based on receiving information from the second source atstep 406, the source verification device 60 confirms the report with thesecond source. In aspects, the confirming module 76 confirms the reportwith the second source at step 408 based on receiving information fromthe second source. For example, based on the selecting module 74selecting the unknown source 94, the confirming module 76 confirms thereport with the unknown source 94 via user device 95 by automaticverification or formal verification.

After the report is confirmed with the unknown source 94, the confirmingmodule 76 assigns a value to the information in the report (e.g., anumerical value as defined by the type of report, the location of thereport, profile information for the type of report, size of theemergency in the report, and number of people affected by the emergencyin the report, etc.). If the value assigned to the information in thereport from the unknown source 94 exceeds the information trust levelvalue determined by the determining module 72 at step 404, the report isconsidered verified and the source verification device 60 skips to step412 and emergency personnel are dispatched to the location of theemergency in the report.

At step 410, based on the information in the report from the unknownsource 94 not exceeding the information trust level value at step 408,the source verification device 60 repeats the selecting and theconfirming until the aggregate value of the information from multiplesources exceeds the information trust level value. In aspects, therepeating module 78 repeats the selecting and the confirming until theaggregate value of the information from multiple sources exceeds theinformation trust level value. If the aggregate value of the informationfrom multiple sources exceeds the information trust level value,emergency personnel are dispatched to the location of the emergency atstep 412.

For example, if the value of the information in the report from theunknown source 94 does not exceeds the information trust level value,the repeating module 78 repeats the selecting step 406 to select anotherunknown source (e.g., the second unknown source 98) and repeats theconfirming step 408 to confirm the report from original unknown source90 with the second unknown source 98. If the aggregate value of theinformation from the unknown source 94 and the second unknown source 98exceeds the information trust level value, emergency personnel aredispatched to the location of the emergency.

In embodiments, a service provider could offer to perform the processesdescribed herein. In this case, the service provider can create,maintain, deploy, support, etc., the computer infrastructure thatperforms the process steps of the invention for one or more customers.These customers may be, for example, any business that requires deviceaccess.

In still another embodiment, the invention provides acomputer-implemented method. In this case, a computer infrastructure,such as computer system 12 (FIG. 1), can be provided and one or moresystems for performing the processes of the invention can be obtained(e.g., created, purchased, used, modified, etc.) and deployed to thecomputer infrastructure. To this extent, the deployment of a system cancomprise one or more of: (1) installing program code on a computingdevice, such as computer system 12 (as shown in FIG. 1), from acomputer-readable medium; (2) adding one or more computing devices tothe computer infrastructure; and (3) incorporating and/or modifying oneor more existing systems of the computer infrastructure to enable thecomputer infrastructure to perform the processes of the invention.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A computer-implemented method, comprising:receiving, by a computing device, a report from a first source;determining, by the computing device, the first source is listed in anuntrusted source repository; selecting, by the computing device, an areaaround a location of the first source; selecting, by the computingdevice, a second source from a plurality of second sources within thearea around the first source, wherein the selected second source is oneof the plurality of second sources that is farthest away from the firstsource; confirming, by the computing device, the report from the firstsource based on information received from the second source; andrepeating, by the computing device, the selecting and the confirminguntil a value of information in the report from the second sourceexceeds an information trust level value for the report.
 2. Thecomputer-implemented method of claim 1, wherein the first source is anunknown source.
 3. The computer-implemented method of claim 1, whereinthe information trust level value for the report is based on a type ofreport and profile information for the type of report.
 4. Thecomputer-implemented method of claim 1, wherein the value of informationin the report from the second source is based on a location of thereport.
 5. The computer-implemented method of claim 1, wherein the valueof information in the report from the second source is based on a sizeof an emergency in the report.
 6. The computer-implemented method ofclaim 1, wherein the value of information in the report from the secondsource is based on a number of people affected by the emergency in thereport.
 7. The computer-implemented method of claim 1, wherein theconfirming the report is based on automatic verification.
 8. Thecomputer-implemented method of claim 1, wherein the confirming thereport is based on formal verification.
 9. The computer-implementedmethod of claim 1, further comprising dispatching emergency personnel inresponse to the value to information in the report from the secondsource exceeding the information trust level value.
 10. A computerprogram product comprising a computer readable storage medium havingprogram instructions embodied therewith, the program instructionsexecutable by a computer device to cause the computer device to: receivea report from a first source; determine the first source is listed in anuntrusted source repository; assign an information trust level value tothe report from the first source based on receiving the report; select asecond source from a plurality of second sources within the area aroundthe first source, wherein the selected second source is one of theplurality of second sources that is farthest away from the first source;assign an information value to information from the second source basedon receiving information from the second source; and confirm the reportwith the second user device of the second source based on determiningthe information value exceeds the information trust level value.
 11. Thecomputer program product of claim 10, wherein the information trustlevel value for the report is based on a type of report and profileinformation for the type of report.
 12. The computer program product ofclaim 10, wherein the information value in the report from the secondsource is based on at least one selected from the group consisting of: alocation of the report; a size of an emergency in the report; and anumber of people affected by the emergency in the report.
 13. Thecomputer program product of claim 10, wherein the confirming the reportis based on automatic verification.
 14. The computer program product ofclaim 10, wherein the confirming the report is based on formalverification.
 15. The computer program product of claim 10, furthercomprising: selecting a third source based on determining theinformation value does not exceed the information trust level value;assigning a second information value to information from the thirdsource based on receiving information from the third source; andconfirming the report with the third source based on an aggregate valueof the information value and the second information value exceeds theinformation trust level value.
 16. The computer program product of claim15, wherein the second information value is based on at least oneselected from the group consisting of: the type of report, a location ofthe report, profile information for the type of report, a size of anemergency in the report, and a number of people affected by theemergency in the report.
 17. A system comprising: a processor, acomputer readable memory and a computer readable storage mediumassociated with a computing device; program instructions to receive areport from an unknown source; program instructions to determine thatthe unknown source is listed in an untrusted source repository; programinstructions to select a second unknown source from a plurality of otherunknown sources within an area around a location of the first unknownsource, wherein the selected second unknown source is one of theplurality of second unknown sources that is farthest away from the firstunknown source; program instructions to determine whether informationfrom the second unknown source exceeds an information trust level value;and program instructions to repeat the selecting until information froma number of unknown sources exceeds the information trust level value,wherein the program instructions are stored on the computer readablestorage medium for execution by the processor via the computer readablememory.
 18. The system of claim 17, wherein the information trust levelvalue is based on at least one selected from the group consisting of: atype of the report and profile information for the type of the report; alocation of the report; a size of an emergency in the report; and anumber of people affected by the emergency in the report.
 19. The systemof claim 17, further comprising checking a social connection of theunknown source and the second unknown source.
 20. The system of claim19, further comprising selecting a third unknown source based on thesocial connection of the unknown source and the second unknown source.